package com.businesscard.system.service;

import com.businesscard.system.entity.BusinessCardFolder;

import java.util.List;

/**
 * 名片夹服务接口
 */
public interface BusinessCardFolderService {
    
    /**
     * 创建名片夹
     * @param folder 名片夹信息
     * @return 创建结果
     */
    boolean createFolder(BusinessCardFolder folder);
    
    /**
     * 更新名片夹信息
     * @param folder 名片夹信息
     * @return 更新结果
     */
    boolean updateFolder(BusinessCardFolder folder);
    
    /**
     * 根据ID查询名片夹
     * @param id 名片夹ID
     * @return 名片夹信息
     */
    BusinessCardFolder getFolderById(Integer id);
    
    /**
     * 查询用户所有未删除的名片夹
     * @param userId 用户ID
     * @return 名片夹列表
     */
    List<BusinessCardFolder> getFoldersByUserId(Integer userId);
    
    /**
     * 查询用户删除的名片夹(回收站)
     * @param userId 用户ID
     * @return 已删除的名片夹列表
     */
    List<BusinessCardFolder> getDeletedFoldersByUserId(Integer userId);
    
    /**
     * 逻辑删除名片夹(移入回收站)
     * @param id 名片夹ID
     * @return 删除结果
     */
    boolean deleteFolder(Integer id);
    
    /**
     * 恢复已删除的名片夹
     * @param id 名片夹ID
     * @return 恢复结果
     */
    boolean restoreFolder(Integer id);
    
    /**
     * 彻底删除名片夹
     * @param id 名片夹ID
     * @return 删除结果
     */
    boolean removeFolder(Integer id);
} 